package com.example.gss.enums;

/**
 * 年级类型枚举
 */
public enum GradeType {
    GRADUATE_1("研一", "研究生院统一评定"),
    GRADUATE_2("研二", "学业成绩(20分) + 思政表现(30分) + 科研能力(30分) + 社会服务(20分)"),
    GRADUATE_3("研三", "思政表现(30分) + 科研能力(50分) + 社会服务(20分)");

    private final String displayName;
    private final String ruleDescription;

    GradeType(String displayName, String ruleDescription) {
        this.displayName = displayName;
        this.ruleDescription = ruleDescription;
    }

    public String getDisplayName() {
        return displayName;
    }

    public String getRuleDescription() {
        return ruleDescription;
    }

    /**
     * 根据年级名称获取年级类型
     */
    public static GradeType fromGradeName(String gradeName) {
        if (gradeName == null) {
            return null;
        }
        
        switch (gradeName.trim()) {
            case "研一":
                return GRADUATE_1;
            case "研二":
                return GRADUATE_2;
            case "研三":
                return GRADUATE_3;
            default:
                return null;
        }
    }
} 